package com.jf.identity.dao.visexamid;

import com.jf.identity.entity.ExamBaseParam;
import com.jf.identity.entity.Examiner;
import com.jf.identity.entity.LogicExamRoom;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 处理监考员相关dao
 *
 * @author FCG
 */
public interface ExaminerDao {
    /**
     * 按考点获取监考员编排信息
     * "orgCode": "机构代码",
     * "examId": "考试计划编号",
     * "examSessionNum":"场次"
     *
     * @param examBaseParam 入参
     * @return 监考员编排信息
     */
    List<LogicExamRoom> getExaminerRelInfo(@Param("examBaseParam") ExamBaseParam examBaseParam);

    /**
     * 上报监考员签到信息
     *
     * @param examBaseParam 考试信息
     *                      "orgCode": "机构代码"
     *                      "examId": "考试计划编号",
     *                      "examSessionNum": "考试场次编号",
     *                      "logicExamRoomNum": "逻辑考场号",
     *                      "deviceId": "设备id",
     * @param examiner      监考员信息
     *                      "uid":"验证信息主键",
     *                      "examinerNum": "监考员编号",
     *                      "idCardNum": "监考员身份证号",
     *                      "name": "监考员姓名",
     *                      "sex": "监考员性别",
     *                      "image": "监考员头像-->存储路径",
     *                      "dateTime": "签到时间2018-04-10 10:00:00"
     * @return 插入条数
     */
    int insertExaminerVerifyInfo(@Param("examBaseParam") ExamBaseParam examBaseParam,
                                 @Param("examiner") Examiner examiner);

    /**
     * 获取监考员已有头像
     *
     * @param examBaseParam 考试信息
     *                      "orgCode": "机构代码"
     *                      "examId": "考试计划编号",
     *                      "examSessionNum": "考试场次编号",
     *                      "logicExamRoomNum": "逻辑考场号"
     * @param examiner      监考员信息
     *                      "idCardNum": "监考员身份证号",
     * @return 监考员头像 存储路径
     */
    String getExaminerImageUrl(@Param("examBaseParam") ExamBaseParam examBaseParam,
                               @Param("examiner") Examiner examiner);
}













